/**
 * @see https://umijs.org/docs/max/access#access
 * */


/**
 * 根据初始化状态确定当前用户是否具有管理员权限。
 * 
 * 该函数通过检查初始化状态中的当前用户属性来确定是否应该授予管理员权限。
 * 如果当前用户存在且用户名为'admin'，则认为具有管理员权限。
 * 
 * @param initialState 初始化状态对象，可能包含当前用户信息。
 * @returns 返回一个对象，其中canAdmin属性表示当前用户是否具有管理员权限。
 */
export default function access(initialState: { currentUser?: API.CurrentUser } | undefined) {
  // 解构获取currentUser，如果initialState不存在则为undefined
  const { currentUser } = initialState ?? {};

  // 返回一个对象，其中canAdmin属性表示当前用户是否是管理员
  return {
    canAdmin: currentUser && currentUser.is_admin === 1,
  };
}
